Keras হল একটি উচ্চ স্তরের ডিপ লার্নিং API যা মূলত TensorFlow এর উপরে কাজ করে। এটি নিউরাল নেটওয়ার্ক মডেল তৈরি করা, প্রশিক্ষণ দেওয়া এবং পরীক্ষণ করার জন্য সহজ, পরিষ্কার, এবং ব্যবহারকারী-বান্ধব ইন্টারফেস প্রদান করে। নিচে Keras এর বেসিক সেন্ট্যাক্স এবং মডেল তৈরি করার পদ্ধতি আলোচনা করা হলো।
Keras মডেল তৈরি করার ধাপ:
- মডেল ইনিশিয়ালাইজেশন
- লেয়ার যোগ করা
- মডেল কম্পাইল করা
- মডেল ট্রেনিং
- মডেল মূল্যায়ন
Step 1: Keras মডেল ইনিশিয়ালাইজেশন
Keras মডেল তৈরির জন্য মূলত দুটি পদ্ধতি রয়েছে:
- Sequential API: এটি লিনিয়ার (linear) স্ট্যাকিং লেয়ার ব্যবহার করে একটি মডেল তৈরি করতে ব্যবহৃত হয়। সহজ এবং ছোট মডেল তৈরির জন্য আদর্শ।
- Functional API: এটি আরও জটিল মডেল তৈরি করতে ব্যবহৃত হয়, যেখানে একাধিক ইনপুট এবং আউটপুট থাকতে পারে।
এখানে আমরা Sequential API দিয়ে একটি মডেল তৈরি করবো, যেটি বেশিরভাগ সাধারণ ক্ষেত্রে ব্যবহৃত হয়।
Keras মডেল তৈরি করার জন্য Sequential API:
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
# Sequential মডেল তৈরি
model = Sequential()
# ইনপুট এবং হিডেন লেয়ার যোগ করা
model.add(Dense(units=64, activation='relu', input_dim=8)) # ইনপুট লেয়ার
# আরো একটি হিডেন লেয়ার
model.add(Dense(units=32, activation='relu')) # হিডেন লেয়ার
# আউটপুট লেয়ার
model.add(Dense(units=1, activation='sigmoid')) # আউটপুট লেয়ার (বাইনরি ক্লাসিফিকেশন)
Step 2: মডেল কম্পাইল করা
মডেল তৈরি করার পর, আপনি compile করতে হবে। এটি মডেলটি প্রশিক্ষণের জন্য প্রস্তুত করে এবং loss function, optimizer, এবং metrics নির্ধারণ করে।
model.compile(optimizer='adam', # অপটিমাইজার (জিনিসগুলিকে ভালোভাবে আপডেট করতে)
loss='binary_crossentropy', # লস ফাংশন (এখানে বাইনরি ক্লাসিফিকেশন)
metrics=['accuracy']) # মেট্রিক্স (যেমন accuracy)
Step 3: মডেল ট্রেনিং
মডেল কম্পাইল করার পর, এটি fit ফাংশন ব্যবহার করে প্রশিক্ষণ দেওয়া হয়। এখানে আপনার training data (ট্রেনিং ডেটা) এবং target labels (লক্ষ্য লেবেল) প্রদান করতে হবে।
# মডেল ট্রেনিং
model.fit(X_train, y_train, epochs=10, batch_size=32) # X_train: ইনপুট ডেটা, y_train: আউটপুট লেবেল
এখানে:
epochsহল প্রশিক্ষণের সংখ্যা, অর্থাৎ মডেলটি কতবার ডেটা দিয়ে প্রশিক্ষিত হবে।batch_sizeহল একবারে কত ডেটা পয়েন্ট ব্যবহার করা হবে।
Step 4: মডেল মূল্যায়ন (Evaluation)
প্রশিক্ষণ শেষে, আপনি মডেলের পারফরম্যান্স মূল্যায়ন করতে পারেন evaluate ফাংশন ব্যবহার করে। এখানে আপনি test data প্রদান করবেন।
# মডেল মূল্যায়ন
loss, accuracy = model.evaluate(X_test, y_test) # X_test: টেস্ট ডেটা, y_test: টেস্ট লেবেল
print(f"Test Loss: {loss}, Test Accuracy: {accuracy}")
Step 5: মডেল ব্যবহার করে পূর্বাভাস (Prediction)
মডেল ট্রেনিং এবং মূল্যায়ন শেষে, আপনি নতুন ডেটা দিয়ে মডেলটিকে পূর্বাভাস দিতে ব্যবহার করতে পারেন।
# নতুন ডেটার জন্য পূর্বাভাস
predictions = model.predict(X_new) # X_new: নতুন ইনপুট ডেটা
Keras মডেল তৈরির একটি পূর্ণ উদাহরণ
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
# 1. মডেল ইনিশিয়ালাইজেশন
model = Sequential()
# 2. ইনপুট এবং হিডেন লেয়ার যোগ করা
model.add(Dense(units=64, activation='relu', input_dim=8)) # ইনপুট লেয়ার
model.add(Dense(units=32, activation='relu')) # হিডেন লেয়ার
# 3. আউটপুট লেয়ার যোগ করা
model.add(Dense(units=1, activation='sigmoid')) # আউটপুট লেয়ার (বাইনরি ক্লাসিফিকেশন)
# 4. মডেল কম্পাইল করা
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
# 5. মডেল ট্রেনিং
model.fit(X_train, y_train, epochs=10, batch_size=32)
# 6. মডেল মূল্যায়ন
loss, accuracy = model.evaluate(X_test, y_test)
print(f"Test Loss: {loss}, Test Accuracy: {accuracy}")
# 7. পূর্বাভাস তৈরি করা
predictions = model.predict(X_new)
Keras মডেল তৈরি করার সংক্ষিপ্ত সারাংশ:
- Sequential মডেল: এটি সহজ এবং লিনিয়ার মডেল তৈরি করতে ব্যবহৃত হয়।
- add() ফাংশন: এটি মডেলে লেয়ার যোগ করতে ব্যবহৃত হয়।
- compile() ফাংশন: মডেলটি প্রশিক্ষণের জন্য প্রস্তুত করে, অপটিমাইজার এবং লস ফাংশন নির্ধারণ করে।
- fit() ফাংশন: মডেলটিকে প্রশিক্ষণ দেয়।
- evaluate() ফাংশন: মডেলের পারফরম্যান্স মূল্যায়ন করে।
- predict() ফাংশন: নতুন ডেটা দিয়ে পূর্বাভাস তৈরি করতে ব্যবহৃত হয়।
Keras একটি অত্যন্ত শক্তিশালী এবং সহজে ব্যবহারযোগ্য API, যা ডিপ লার্নিং মডেল তৈরি এবং প্রশিক্ষণের জন্য উপযুক্ত।
Read more